package almacenes.modelo.entidad;
// Generated 16/02/2012 04:45:02 PM by Hibernate Tools 3.4.0.CR1


import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;
/**
 * RolesUsuarioRel generated by hbm2java
 */
@Entity
@Table(name="ROLES_USUARIO_REL"
    , uniqueConstraints = @UniqueConstraint(columnNames={"ID_USUARIO", "ID_ROL", "ID_DEPARTAMENTO"}) 
)
public class RolesUsuarioRel  implements java.io.Serializable {


     private int idRolUsuario;
     private Departamento departamento;
     private RolMae rolMae;
     private UsuarioMae usuarioMae;
    // private Integer idUsuarioMayor;
     private UsuarioMae usuarioMayor;
     private Byte idEstado;
     private String usuReg;
     private Date fecReg;

    public RolesUsuarioRel() {
    	
    }

	
    public RolesUsuarioRel(int idRolUsuario, Departamento departamento, RolMae rolMae, UsuarioMae usuarioMae) {
        this.idRolUsuario = idRolUsuario;
        this.departamento = departamento;
        this.rolMae = rolMae;
        this.usuarioMae = usuarioMae;
    }
    public RolesUsuarioRel(int idRolUsuario, Departamento departamento, RolMae rolMae, UsuarioMae usuarioMae, UsuarioMae usuarioMayor, Byte idEstado, String usuReg, Date fecReg) {
       this.idRolUsuario = idRolUsuario;
       this.departamento = departamento;
       this.rolMae = rolMae;
       this.usuarioMae = usuarioMae;
       //this.idUsuarioMayor = idUsuarioMayor;
       this.usuarioMayor = usuarioMayor;
       this.idEstado = idEstado;
       this.usuReg = usuReg;
       this.fecReg = fecReg;
    }
   
    @Id
    @Column(name="ID_ROL_USUARIO", unique=true, nullable=false, precision=5, scale=0)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SQ_ROL_USUARIO")
   	@SequenceGenerator(name = "SQ_ROL_USUARIO", sequenceName = "SQ_ROL_USUARIO",allocationSize=1)
    public int getIdRolUsuario() {
        return this.idRolUsuario;
    }
    
    public void setIdRolUsuario(int idRolUsuario) {
        this.idRolUsuario = idRolUsuario;
    }

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_DEPARTAMENTO", nullable=false)
    public Departamento getDepartamento() {
        return this.departamento;
    }
    
    public void setDepartamento(Departamento departamento) {
        this.departamento = departamento;
    }

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_ROL", nullable=false)
    public RolMae getRolMae() {
        return this.rolMae;
    }
    
    public void setRolMae(RolMae rolMae) {
        this.rolMae = rolMae;
    }

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_USUARIO", nullable=false)
    public UsuarioMae getUsuarioMae() {
        return this.usuarioMae;
    }
    
    public void setUsuarioMae(UsuarioMae usuarioMae) {
        this.usuarioMae = usuarioMae;
    }
    
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_USUARIO_MAYOR",nullable=true)
    public UsuarioMae getUsuarioMayor() {
        return this.usuarioMayor;
    }
    
    public void setUsuarioMayor(UsuarioMae usuarioMayor) {
        this.usuarioMayor = usuarioMayor;
    }

    
    /*@Column(name="ID_USUARIO_MAYOR", precision=8, scale=0)
    public Integer getIdUsuarioMayor() {
        return this.idUsuarioMayor;
    }
    
    public void setIdUsuarioMayor(Integer idUsuarioMayor) {
        this.idUsuarioMayor = idUsuarioMayor;
    }*/

    
    @Column(name="ID_ESTADO", precision=2, scale=0)
    public Byte getIdEstado() {
        return this.idEstado;
    }
    
    public void setIdEstado(Byte idEstado) {
        this.idEstado = idEstado;
    }

    
    @Column(name="USU_REG", length=10)
    public String getUsuReg() {
        return this.usuReg;
    }
    
    public void setUsuReg(String usuReg) {
        this.usuReg = usuReg;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="FEC_REG", length=7)
    public Date getFecReg() {
        return this.fecReg;
    }
    
    public void setFecReg(Date fecReg) {
        this.fecReg = fecReg;
    }





}


